package com.lzy.product.apis;

import com.github.pagehelper.PageInfo;
import com.lzy.framework.core.orm.db.Pager;
import com.lzy.product.dtos.CouponProfitRecordDto;

import java.math.BigDecimal;
import java.util.List;

/**
 * 卡券宝收益记录服务
 * Created by WIN7 on 2018/1/2.
 */
public interface CouponProfitRecordServiceApi extends BaseServiceApi<CouponProfitRecordDto> {


    /**
     * 计算日收益
     *
     * @param dragonMoney 龙币总额
     * @param months      返现期限
     * @return
     */
    BigDecimal calculateDayProfit(BigDecimal dragonMoney, int months);

    /**
     * 查询可限制列表
     *
     * @return
     */
    List<CouponProfitRecordDto> queryLimitedList();

    /**
     * 查询列表
     *
     * @param pager
     * @param paramDto
     * @return
     */
    PageInfo<CouponProfitRecordDto> selectList(Pager pager, CouponProfitRecordDto paramDto);

    /**
     * 根据类型查询某会员的收益明细列表
     *
     * @param pager
     * @param memberId
     * @param type
     * @return
     */
    PageInfo<CouponProfitRecordDto> selectListByType(Pager pager, Long memberId, String type, Integer status);

    /**
     * 查询佣金类型的可限制列表
     *
     * @return
     */
    List<CouponProfitRecordDto> queryLimitedListByCommision();

    /**
     * 查询会员可限制金额
     *
     * @param memberId
     * @return
     */
    BigDecimal limitMoney(Long memberId);

    /**
     * 查询会员可提现金额
     *
     * @param memberId
     * @return
     */
    BigDecimal availableMoney(Long memberId);

}
